This disclosure relates to a system and method for controlling the speed of an electric motor, and more particularly to a system and method for controlling the speed of a voice coil motor that moves the head of a disk drive.
In the event of a disk drive power failure, it is typical to use reserve power to retract the read/write head to prevent it from striking and damaging the platter surface. This function is known as “emergency retract” and can be performed as “blind retract” or “velocity-controlled retract.” Velocity-controlled retract is preferable, because controlling the speed at which the voice coil motor (VCM) retracts the head prevents or at least minimizes damage to the head as a result of hitting the ramp stop too hard (if it is retracted too quickly). At the same time, the available power for performing the retract operation is limited, so a trade-off between velocity regulation and power consumption has to be made.
One known method for controlling the speed of the VCM uses pulse width modulation (PWM), applying power to the VCM in pulses to conserve power. The speed of the motor is controlled by the width or duration of the pulses. The speed may be determined by detecting the back-electromotive force (back-EMF, or BEMF) generated when current passes through the motor. Comparison of the actual speed, as represented by the actual BEMF, to a target speed, as represented by a target BEMF, can be used to control the pulse width. The BEMF profile may be divided into regions using an analog-to-digital converter (ADC), and decoded to the pulse width of the subsequent PWM drive.
In order to improve VCM speed control, it is desirable to increase the number of regions into which the BEMF profile is divided to provide finer adjustment of the pulse width. However, using a higher-resolution ADC during an emergency retract consumes more power at a time when power is at a premium. In addition, it may be desirable to make the pulse width programmable to accommodate different models of disk drive, or even differences among drives of the same model.